package com.doge.mapper;

import com.doge.bean.pojo.topic.Topic;
import com.doge.bean.pojo.topic.TopicExample;

import java.util.List;

import com.doge.bean.vo.topic.TopicReadVO;
import org.apache.ibatis.annotations.Param;

public interface TopicMapper {
    long countByExample(TopicExample example);

    int deleteByExample(TopicExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(Topic record);

    int insertSelective(Topic record);

    List<Topic> selectByExampleWithBLOBs(TopicExample example);

    List<Topic> selectByExample(TopicExample example);

    Topic selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") Topic record, @Param("example") TopicExample example);

    int updateByExampleWithBLOBs(@Param("record") Topic record, @Param("example") TopicExample example);

    int updateByExample(@Param("record") Topic record, @Param("example") TopicExample example);

    int updateByPrimaryKeySelective(Topic record);

    int updateByPrimaryKeyWithBLOBs(Topic record);

    int updateByPrimaryKey(Topic record);

    int updateTopic(@Param("ids") List<Integer> ids);

    /*
    * 尝试联合查询获取 VO，失败，只能在 service 层手动循环set赋值
    * */
    TopicReadVO selectTopicReadVOById(Integer id);
}